﻿// --- Copyright (c) 2010 Steven Hartgers ---
// Copyright (C) 2010 Steven Hartgers All rights are reserved.
// Author contact: fiinix00/at\gmail.com
// ------------------------------------------------------------------------
// This program is free software: you can redistribute it and/or modify 
// it under the terms of the GNU General Public License as published by 
// the Free Software Foundation, either version 3 of the License, or 
// (at your option) any later version. 
//  
// This program is distributed in the hope that it will be useful, 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
// GNU General Public License for more detail
//  
// You should have received a copy of the GNU General Public License 
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
// ------------------------------------------------------------------------
// COPYRIGHT NOTICE: This copyright notice may NOT be removed, obscured or modified 
// without written consent from the author.
// --- End copyright notice --- 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Hack.Forms
{
    public static class PreventBounds
    {
        public static void PreventOutsideScreen(this Form f)
        {
            f.LocationChanged += delegate(object sender, EventArgs e)
            {
                Form form = ((Form)sender);

                if (form.Left < 0)
                    form.Left = 0;
                else if (form.Right > Screen.PrimaryScreen.Bounds.Width)
                    form.Left = Screen.PrimaryScreen.Bounds.Width - form.Width;

                if (form.Top < 0)
                    form.Top = 0;
                else if (form.Bottom > Screen.PrimaryScreen.Bounds.Height)
                    form.Top = Screen.PrimaryScreen.Bounds.Height - form.Height;
            };
        }
    }
}
